System and method for providing a descriptor for a location to a recipient

ABSTRACT

A method for providing a descriptor of a location to a recipient includes receiving location data of the location from a user and using the location data to identify a plurality of regions near or including the location. Each region is associated with a descriptor. The recipient&#39;s level of familiarity with each of the regions is determined and at least one region is selected based on the recipient&#39;s level of familiarity with the at least one selected region. Once the at least one region is selected, for each of the at least one selected region, the descriptor associated with the selected region is provided to the recipient via the user.

CROSS-REFERENCE TO RELATED APPLICATION

The present invention is a continuation of U.S. patent application Ser.No. 13/325,615 (now U.S. Pat. No. 8,737,969), filed Dec. 14, 2011, whichis a continuation of U.S. patent application Ser. No. 11/425,650 (nowU.S. Pat. No. 8,099,086), filed Jun. 21, 2006, all of which are herebyincorporated by reference. This application is also related to U.S.patent application Ser. No. 11/425,623 entitled “System and Method forNaming a Location Based on User-Specific Information,” filed Jun. 21,2006, and assigned to the assignee of the present application and hereinincorporated by reference.

BACKGROUND

Handheld electronic devices, such as personal digital assistants (PDAs),mobile phones, digital cameras, and the like, offer mobility and avariety of services to their respective users. They are typicallyconfigured to transmit and receive data to and from other devices via awired or wireless connection. Most mobile phones, for example, canprovide Internet access, maintain a personal address book, providemessaging capabilities, capture digital images, as well as place phonecalls.

Many devices, in particular mobile phones, can identify their respectivelocations within a certain range depending on the device and locationidentifying technique. Some devices can use sophisticated positiondetermining systems, such as a Global Positioning System (GPS). The GPSis a satellite-based radio navigation system that uses signals fromthree or four satellites to compute the current latitude, longitude andelevation of a GPS receiver in the device anywhere on earth down towithin a few meters. Other devices can use a location identifyingtechnique based on which base station is servicing the device, that is,the location of the device is within a range of the base station fromwhich a call is made. Other devices can use location identifyingtechniques based on triangulation between the device and at least twobase stations.

The device's location, typically represented by geospatial coordinates,can be used in a variety of ways. It can be used to describe a digitalimage captured at the location and it can then be stored as metadata forcategorizing the image. The location can also be used to link otherinformation with the location, such as a favorite restaurant orbookstore. The location can also be used to inform other users where tomeet.

As stated above, the location is typically represented by geospatialcoordinates. Geographical information systems (GISs) exist thatcorrelate geospatial coordinates with geographical data such as streetaddress, location name and other information. Accordingly, thegeographical data corresponding to the geospatial coordinates can bedisplayed to the user and/or utilized by an application in the device,e.g., to associate a location's name with an image.

While providing the geographical data of a location can be helpful,e.g., to orient a user or to categorize a set of images, thegeographical data itself can hold little or no relevance to the user.For example, if the user has forgotten the name of a particularbusiness, the address of the business is not particularly useful.

In a co-pending patent application entitled, System and Method forNaming a Location Based on User-Specific Information (Ser. No.11/425,623), filed Jun. 21, 2006 and assigned to the assignee of thepresent invention, a name generation module automatically provides aname of a location based on an atemporal correlation between generalinformation and user-specific information relating to the location.Because the name for the location is based on user-specific information,the name can be meaningful to the user. The user is not required tothink of and to enter a name for each location, which can be tediouswhen several locations need to be named and when the most appropriatename might not be readily apparent to the user.

As stated above, the name for the location can be used for a variety ofpurposes including identifying the location for a meeting with anotheruser. For example, the user can send a message to a friend telling himthat the user is at “work,” or at the “gym.” While the names “work” and“gym” can be meaningful to the user, such user-specific names may not bemeaningful to the friend. Moreover, the user-specific name for alocation may be highly personal or classified, and sharing it with thefriend might be inappropriate. Thus, the user would be required to enteranother descriptor for the location, which may or may not be familiar tothe friend.

SUMMARY

Accordingly, a system and method for providing a descriptor of alocation to a recipient are described. According to one exemplaryembodiment, a method includes receiving location data of the locationfrom a user and using the location data to identify a plurality ofregions near or including the location. Each region is associated with adescriptor. The recipient's level of familiarity with each of theregions is determined and at least one region is selected based on therecipient's level of familiarity with the selected region. Once the atleast one region is selected, for each of the at least one selectedregion, the descriptor associated with the selected region is providedto the recipient via the user.

According to another exemplary embodiment, a system for providing adescriptor of a location to a recipient includes a data store forstoring region information correlated with location data and recipientdata relating to the region information. The region information includesa user-specified descriptor associated with each of a plurality ofregions. The system also includes a descriptor sharing module coupled tothe data store. The descriptor sharing module is configured to receive arequest from a user to provide a descriptor for a location, whichincludes location data of the location. The descriptor sharing moduleuses the location data of the location to identify a plurality ofregions near or including the location based on the region information,determines a level of familiarity of the recipient with each identifiedregion based on the recipient data, selects at least one region based onthe recipient's level of familiarity with the selected region, andprovides, for each of the at least one selected region, the descriptorassociated with the selected region to the recipient via the user.

According to another embodiment, an electronic communication deviceincludes a communication interface coupled to a network, and a datastore for storing region information correlated with location data andrecipient data relating to the region information. The regioninformation includes a user-specified descriptor associated with each ofa plurality of regions. The device also includes a descriptor sharingmodule configured to receive location data of a location. The descriptorsharing module uses the location data of the location to identify aplurality of regions near or including the location based on the regioninformation, determines a level of familiarity of the recipient witheach identified region based on the recipient data, selects at least oneregion based on the recipient's level of familiarity with the selectedregion, and provides, for each of the at least one selected region, thedescriptor associated with the selected region to the recipient over thenetwork via the communication interface.

According to another exemplary embodiment, a server comprises acommunication interface for communicating with an electroniccommunication device associated with a user over a network and forcommunication with a data store that stores region informationcorrelated with location data and recipient data relating to the regioninformation. The region information includes a user-specified descriptorassociated with each of a plurality of regions. The server alsocomprises a descriptor sharing module configured to receive locationdata of a location and a recipient identifier from the electroniccommunication device, to identify a plurality of regions near orincluding the location based on the region information, to determine alevel of familiarity of the recipient with each identified region basedon the recipient data, to select at least one region based on therecipient's level of familiarity with the selected region, and toprovide, for each of the at least one selected region, the descriptorassociated with the selected region to the mobile communication deviceover the network via the communication interface.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings provide visual representations which will beused to more fully describe the representative embodiments disclosedhere and can be used by those skilled in the art to better understandthe representative embodiments and their inherent advantages. In thesedrawings, like reference numerals identify corresponding elements, and:

FIG. 1 is a block diagram illustrating an exemplary descriptor sharingsystem according to an exemplary embodiment;

FIG. 2A-2C are detailed block diagrams illustrating exemplary descriptorsharing systems according to several embodiments;

FIG. 3 a block diagram illustrating an exemplary descriptor sharingmodule according to an exemplary embodiment;

FIG. 4 is a flow diagram illustrating an exemplary process for sharing adescriptor for a location according to an exemplary embodiment;

FIG. 5 is a flow diagram illustrating an exemplary process for selectinga region based on the recipient's familiarity with a region according toan exemplary embodiment; and

FIG. 6 depicts a map of regions according to one embodiment.

DETAILED DESCRIPTION

Various aspects will now be described in connection with exemplaryembodiments, including certain aspects described in terms of sequencesof actions that can be performed by elements of a computing device orsystem. For example, it will be recognized that in each of theembodiments, at least some of the various actions can be performed byspecialized circuits or circuitry (e.g., discrete and/or integratedlogic gates interconnected to perform a specialized function), byprogram instructions being executed by one or more processors, or by acombination of both. Thus, the various aspects can be embodied in manydifferent forms, and all such forms are contemplated to be within thescope of what is described.

According to an exemplary embodiment, geographical regions defined bygeospatial coordinates are associated with descriptors. In oneembodiment, a user can specify the descriptor for each of a plurality ofregions and such region information can be stored in a data store. Thedata store can also include recipient data for the user's contacts,which is related to the region information. When the user wishes toshare a descriptor for a location with a recipient, the geospatialcoordinates associated with the location are used to identify aplurality of regions at or near the location. The recipient data is thenused to determine a level of familiarity of the recipient with theidentified regions. Based on the recipient's level of familiarity, atleast one of the identified regions is selected and the descriptorsassociated with the selected regions are provided to the recipient.

The selected descriptors are, by their nature, relevant to the userbecause they are based on information specific to the user. In addition,the descriptors can be familiar to the recipient because their selectionis based on the recipient's level of familiarity with the associatedregions. The descriptors are determined automatically and presented tothe user so that the user only needs to select a descriptor to share.

FIG. 1 is a block diagram illustrating an exemplary descriptor sharingsystem 100 according to an exemplary embodiment. One or morenetwork-enabled electronic communication devices 110, 150, such as adigital camera/phone, PDA, laptop or the like, are in communication withone another and with a descriptor server 300 over a network 10. A datastore 200 includes user-specified region information and recipient datarelating to a plurality of locations. The user-specific regioninformation and the recipient data can be managed by the user, e.g., onhis or her personal digital assistant (PDA), or can be managed for theuser by another entity, such as via a remote data service. Typically,the user-specific region information and the recipient data is privateinformation, but can include public or otherwise sharable information aswell, such as information the user 120 chooses to share with others. Thedevice 110 and the descriptor server 300 can access the data store 200over the network 10.

FIG. 2A is a more detailed block diagram of the descriptor sharingsystem according to an exemplary embodiment. In one embodiment, thedevice 110 can be a mobile communication device that includes a meansfor tracking a position of the device 110. For example, the device 110can include a position locator system 112 that tracks the position ofthe device 110. The position locator system 112 can be the well knownglobal positioning system (GPS) that utilizes satellites 140 (FIG. 1) todetermine the device's geospatial coordinates. Alternatively, theposition locator system 112 can be configured to utilize one or morebase stations 130 within communication range to determine the device'slocation. Each electronic communication device 110 includes means forcommunicating with the descriptor server 300. For example, the device110 can include a communication interface 116 coupled to a userinterface 114 that allows the user 120 to use the device 110 tocommunicate with the server 300 over a wireless network 10 using one ormore communication protocols.

The descriptor server 300 can be a personal computer or other devicecapable of retrieving, transmitting, storing and analyzing data. Thedescriptor server 300 includes a communication interface 310 forcommunicating with the user's device 110, and for retrieving data fromand writing data to the data store 200. In another embodiment, thedescriptor server 300 can also communicate with a geographicalinformation service (GIS) 250 in order to retrieve general regioninformation 260 that is managed by or for an entity other than the user120. The general region information 260 can include information relatedto the user 120 as well as for other users, but is not generally viewedas the user's data. The general region information is typically publicinformation, but can include private information as well, e.g.,information that is available through the use of pay services.

According to one exemplary embodiment, the descriptor server 300 caninclude a descriptor sharing module 320. In one embodiment, thedescriptor sharing module 320 is configured to receive from the user'sdevice 110 a request for a descriptor for a location and a recipient 150to whom the descriptor is intended. In response to the request, thedescriptor sharing module 320 is configured to select one or moredescriptors associated with regions at or near the location based on therecipient's 150 level of familiarity with each region. The selecteddescriptors can be returned to the user's device 110 over the network 10via the communication interface 310.

The system 100 illustrated in FIG. 1 and FIG. 2A is but one exemplaryarrangement. In this arrangement, a “thin” mobile communication device110 can be accommodated because the user-specified information can bestored remotely and the descriptor sharing module 320 can be included ina server 300. Other system arrangements can be designed by those skilledin the art. For example, in one embodiment, the data store 200 storingthe user-specific region information and recipient data can be managedby the electronic communication device 110 internally. In thisembodiment, the device 110 can identify the regions at or near thelocation and retrieve the data associated with the recipient, and pushthe user-specified items to the descriptor server 300. Alternatively,the descriptor sharing module 320 in the descriptor server 300 can pullfrom the communication device 110 the user-specified information itneeds.

In another embodiment, shown in FIG. 2B, the electronic communicationdevice 110 b can include the descriptor sharing module 320 along withthe data store 200 and the descriptor server 300 is not required. Inthis arrangement, the device 110 b can securely manage theuser-specified region information and recipient data for the user 120.Moreover, because fewer network connections are required to retrieve theuser-specified information, the descriptor sharing module's performancecan be improved.

In another embodiment, shown in FIG. 2C, the descriptor server 300 c caninclude the data store 200. In this embodiment, the descriptor sharingmodule 320 can securely manage the user-specified region information andrecipient data for the user 120. Moreover, because fewer networkconnections would be required to retrieve the user-specifiedinformation, the descriptor sharing module's performance can beimproved. Variations of these embodiments may be utilized and structuraland functional modifications may be made without departing from thescope of the present disclosure.

As stated above, the descriptor sharing module 320 is configured toselect one or more regions that are at or near the location based on therecipient's level of familiarity with the selected regions in oneembodiment. FIG. 3 is a block diagram illustrating an exemplarydescriptor sharing module 320 in communication with the data source 200according to one embodiment. As is shown, the descriptor sharing module320 includes a descriptor selection module 222, a region selectionmodule 324, and a recipient data management module 326. In oneembodiment, the region selection module 324 is configured to retrieve,from the data store 200, user-specified region information 210 relatingto a plurality of regions at or near the location based on thegeospatial coordinates of the location. In another embodiment, theregion selection module 324 is configured to retrieve, from the GIS 250,general region information 260 relating to a plurality of regions at ornear the location based on the geospatial coordinates of the location.

In an exemplary embodiment, the user-specified region information 210and general region information 260 includes at least one table thatdescribes the user-defined and general attributes of a plurality ofregions, including the descriptors. For example, the user-specifiedregion information 210 and general region information 260 can include aregion table that correlates a region identifier (region ID) with a setof origin geospatial coordinates and a boundary, shown in Table 1 below.

TABLE 1 Region ID Origin Longitude Origin Latitude Boundary

The boundary field includes information that can be used to describe theregion's boundary. Each region comprises an origin and/or size differentfrom each of the other plurality of regions. A region can be of anyshape or size, that is, a region can be as small as a particularposition or point, referred to herein as a “positional region,” and aslarge as a city, referred to herein as a “range region.” Thus, theboundary field can include a radius or diameter when the region iscircular in shape, or it can include street names that define theregion. In one embodiment, the boundary field includes sufficientinformation to determine which geospatial coordinates are encompassed bythe region.

TABLE 2 Region ID Descriptor

In another embodiment, the user-specified region information 210 andgeneral region information 260 also include a descriptor table, e.g.,Table 2 above, that correlates the region ID with a descriptor. In oneembodiment, the descriptor can be any character string that describesthe region. For example, the descriptor can be a name of a building, acity name, a person's name that lives in the region, or a description ofan event, e.g., “graduation ceremony.”

TABLE 3 Region ID Descriptor Access Rules

In another embodiment, the descriptor table in the user-specified regioninformation 210 can include user-defined access rules. The user-definedaccess rules indicate which recipients 150 are permitted to receive theuser-specified descriptor. The access rules can be associated with theregion or with a region/descriptor pair if the region is associated witha plurality of descriptors. For example, if a region, e.g., a room, isrestricted to employees of company XYZ, then the access rule associatedwith the region ID can define a permitted class, e.g., “XYZ employees,”with which the associated descriptor can be shared. If the same regionis associated with another descriptor, the access rule associated withthe region/descriptor pair can define a different permitted class, e.g.,“best friends,” with which the associated descriptor can be shared.Thus, when the recipient 150 is a member of one, but not both, permittedclass, the recipient 150 has permission to receive the descriptorcorresponding to the permitted class.

Although the region information 210 has been described using two tables,more tables can be created to organize additional attributes associatedwith the regions. Alternatively, a single table could be created thatincludes a plurality of columns representing each attribute. Variationsin storage schemas may be utilized without departing from the scope ofthe present disclosure.

Referring again to FIG. 3, the recipient data management module 326 isconfigured to retrieve, from the data store 200, recipient data 220relating to the recipient. In one embodiment, the recipient data 220includes at least one table that describes attributes associated witheach of a plurality of prospective recipients 150. For example, therecipient data 220 can include a recipient table that correlates arecipient identifier (ID) with a recipient's name and an accessprivilege, as shown in Table 4 below.

TABLE 4 Recipient ID Recipient Name Access Privilege

The recipient's access privilege indicates which descriptors therecipient is permitted to receive based on the user-defined accessrules. In one embodiment, the access privilege defines at least onepermitted class of which the recipient is a member. For example, if anaccess rule associated with a region restricts the descriptor to beshared with “XYZ employees,” the recipient is permitted to receive thedescriptor when the recipient's access privilege indicates that therecipient is an XYZ employee, i.e., a member of the permitted class of“XYZ employees.”

TABLE 5 Recipient ID Region ID Direct Count

In addition to the recipient table described above, the recipient data220 can also include a recipient familiarity table, shown above, thatcorrelates a recipient ID and a region ID with a direct count. In oneembodiment, the direct count indicates how many times the recipient 150has been known by the user's device 110 to act or interact in relationto the region. For example, when the user's communication device 110shares or receives a descriptor for a region with or from the recipient150, the direct count corresponding to the recipient and the region isincremented. In one embodiment, the recipient data management module 326is configured to monitor the user's communication device 110 todetermine which recipients have received or shared descriptors from orwith the user's communication device 110, and to increment thecorresponding direct count. As will be described below, the recipient'slevel of familiarity with a region is based on the region's directcount.

In one embodiment, the region information 210, 260 relating to regionsnear or including the location and the recipient data 220 relating tothe recipient 150 are received by the descriptor selection module 322.The descriptor selection module 322 is configured to analyze the regioninformation 210, 260 and the recipient data 220 and to generate a rankedlist of potential descriptors for the location based on factorsincluding the recipient's familiarity with each of the regions near orincluding the location. In one embodiment, the descriptor selectionmodule 322 is configured to select and send the highest rankeddescriptor to the user's communication device 110. In anotherembodiment, the description selection module 322 can send apredetermined number of highest ranked descriptors so that the user 120can select which descriptor to share.

FIG. 4 is a flow diagram illustrating an exemplary process for providinga descriptor for a location to a recipient according to one embodiment.Referring to FIG. 1, FIGS. 2A-2C, FIG. 3 and FIG. 4, the exemplaryprocess begins when the descriptor sharing module 320 receives a requestfrom an electronic communication device 110 associated with a user 120to provide a descriptor for a location to a recipient 150 (block 400).In one embodiment, the request includes geographical position datacorresponding to the location. The geographical position data cancomprise geospatial coordinates generated by the position locator system112 in the device 110 or provided by the user 120 via the user interface114. In addition, the request includes the recipient's name or therecipient ID corresponding to the recipient 150.

In one embodiment, the user 120 can control the precision of thedescriptors. For instance, the user 120 can specify in the request adistance threshold. Here, a potential region will be considered when thedistance between the location and a center of the potential region isless than the distance threshold. For example, if the distance thresholdis set at one hundred kilometers, only regions within one hundredkilometers of the location will be considered. In another embodiment, anarea threshold can also be specified. In this case, only regions thatencompass the location and that have an area less than the areathreshold are considered. In another embodiment, the descriptor sharingmodule 320 can set and/or adjust the distance and/or area thresholdsbased on the region information 210, 260. For example, if the locationis in a remote area and no region satisfies the distance and/or areathresholds, the sharing module 320 can increase/expand the thresholdsaccordingly. On the other hand, if the location is in dense area, thesharing module 320 can decrease/reduce the thresholds accordingly.

Once the descriptor sharing module 320 receives the user's request, theregion selection module 324 uses the geographical position data and thedistance/area thresholds to identify regions near or including thelocation (block 402). In one embodiment, the region selection module 324is configured to retrieve region information from the data source 200and optionally from the GIS 250. In particular, the region selectionmodule 324 can retrieve data from the region tables (see Table 1) todetermine if a region encompasses the location, to determine the area ofa region, and to determine the distance between the center of a regionand the location. For example, suppose a region is represented by acircle having radius r and its center located at geospatial coordinates(x, y), and the location is located at geospatial coordinates (a, b).The region encompasses the location if the distance between the centerof the region and the location is less than the radius of the region,i.e., distance ((x, y), (a, b))<r. The area of the region is simply thearea of the circle, i.e., (π)(r)².

The distance between two points, e.g., (x, y) and (a, b), can be definedusing a number of well known techniques. For example, in one embodiment,the distance can be a “practical” distance, i.e., the distance of theshortest path (or shortest driving path or shortest walking path)between the two points. The “practical distance” can be obtained from anexternal mapping and routing service (not shown). In another embodiment,the distance can be a “Euclidean distance”, that is, the distance is theSQRT((x−y)²+(a−b)²). While this measure neglects the curvature of theplanet, it can be appropriate when the points under consideration arewithin a relatively short distance of each other. In another embodiment,the distance can be a “Manhattan distance,” that is, the distance isABS(x−y)+ABS(a−b). Other distance measuring techniques, including thosethat account for the curvature of the earth, can be used that are wellknown to those skilled in the art.

In one embodiment, once the regions near or including the location areidentified, the region selection module 324 can retrieve from the datastore 200 and optionally from the GIS 250 the user-specified regioninformation 210 and general region information 260 associated with theidentified regions near or including the location. In one embodiment,the region selection module 324 can retrieve data from the descriptortable (see Tables 2 and 3) and from the region table (Table 1)corresponding to the identified regions. The region information 210, 260for an identified region can include the region ID, the regiondescriptor, the geospatial coordinates of the region's center, theboundary information and, in the case of the user-specified regioninformation 210, the access rules. This region information 210, 260 ispassed to the descriptor selection module 322.

In an exemplary embodiment, the descriptor selection module 322 receivesthe region information 210, 260 and determines the recipient's level offamiliarity with each identified region near or including the location(block 404). In one embodiment, the descriptor selection module 322 canpass region identifiers for the identified regions to the recipient datamanagement module 326, which uses the recipient's name or identifier(provided in the request) to retrieve recipient data 220 associated withthe recipient 150 and with each identified region. In one embodiment,the returned recipient data 220 can comprise the information in therecipient familiarity table (Table 5) described above, which includesthe direct count for a region and the recipient.

As stated above, the direct count indicates how many times the recipient150 has been known by the user's device 110 to act or interact inrelation to the region. In one embodiment, the recipient data managementmodule 326 can monitor the user's communication device 110 to determinethe number of times the recipient has acted or interacted in relation tothe region. In this embodiment, a region can be associated with onedescriptor. In another embodiment, a region can be associated with aplurality of descriptors forming a plurality of region/descriptor pairs.In this embodiment, the recipient data management module 326 candetermine the number of times the recipient acts or interacts inrelation to each descriptor associated with a particularregion/descriptor pair.

In one embodiment, the recipient data management module 326 can countthe number of times a recipient has received or shared a descriptor fromor with the user's communication device 110. In another embodiment, therecipient data management module 326 can monitor planned events oractivities that include the recipient and a region. For example, anentry in the user's calendar can include a descriptor for a region andthe recipient's name or identifier. When an interaction of the recipient150 in relation to the region is detected, the recipient data managementmodule 326 is configured to increment the direct count corresponding tothe recipient and the region or the region/descriptor pair if the regionis associated with several descriptors.

In one embodiment, the recipient's level of familiarity with theidentified region is proportional to the direct count corresponding tothe identified region. In one embodiment, the level of familiarity canbe based solely on the direct count of the identified region. In anotherembodiment, the level of familiarity can be based on an “effective”count for the identified region. In this embodiment, if the identifiedregion is a positional region, i.e., a particular position or point,then the effective count is the direct count. If the identified regionis a range region, however, the effective count is the sum of the directcount of the identified region and the direct count of any positional orrange regions that are encompassed by the identified region.

Similarly, in the embodiment where the region is associated with severaldescriptors, the recipient's level of familiarity with theregion/descriptor pair is proportional to the direct count correspondingto the region/descriptor pair. In one embodiment, the level offamiliarity can be based solely on the direct count or can be based onan “effective” count for the identified region/descriptor pair.

In one embodiment, the descriptor selection module 322 can quantify thefamiliarity level for each identified region based on the correspondingdirect or effective count. For example, the familiarity level can be setto “low,” if the direct or effective count is between zero (0) and one(1); “medium” if the direct or effective count is between two (2) andfive (5); and “high” if the direct or effective count is greater thansix (6). The thresholds are for exemplary purposes and can vary, e.g.,according to the user's preferences. Once the descriptor selectionmodule 322 has determined the recipient's level of familiarity with eachidentified region (block 404), the descriptor selection module 322 canselect a region based on the recipient's level of familiarity with theselected region (block 406).

FIG. 5 is a flowchart illustrating an exemplary process for selecting afamiliar region according to one embodiment. The descriptor selectionmodule 322 begins the exemplary selection process by filtering outregions to which the recipient is not permitted to receive thecorresponding descriptors (block 500). As stated above, theuser-specified region information 210 includes user-defined access rulesassociated with each region or region/descriptor pair (if the region isassociated with more than one descriptor). In this embodiment, thedescriptor selection module 322 can invoke the recipient data managementmodule 326 to retrieve information from the recipient table (e.g., Table4) corresponding to the recipient 150. The retrieved information caninclude the recipient's access privilege. In one embodiment, thedescriptor selection module 322 compares the recipient's accessprivilege to the access rules associated with each identified region orregion/descriptor pair. If the recipient is not a member of a particularpermitted class defined by an access rule, then the region associatedwith the access rule is eliminated from consideration.

In one embodiment, filtering out regions to which the recipient is notpermitted to receive the corresponding descriptors can be performedprior to determining the recipient's level of familiarity with eachregion (block 404). By filtering at an earlier stage of the process, thenumber of identified regions can be reduced quickly and easily, therebyimproving efficiency and reducing costs because fewer regions areprocessed thereafter.

After the identified regions have been filtered, the descriptorselection module can calculate a region weight for each of the remainingidentified regions (block 502). In one embodiment, the region weight foreach region is based on the region's size and proximity to the location.For example, for a region having an area M, the region weight can beinversely proportional to (1+M) when the region encompasses thelocation, or inversely proportional to the product of (1+M)×(1+L²) whenthe region does not encompass the location and where L is the distancebetween the location and the region. In another embodiment, the regionweight can be based on other factors such as the number of points ofinterest within the region or the number of addresses or people residingin the region.

In one embodiment, the descriptor selection module 322 can thencalculate a familiarity weight for each of the remaining identifiedregions (block 504). In one embodiment, the familiarity weight for eachregion is based on the recipient's level of familiarity with the regionand on the nature of the region. For example, if the region is apositional region, the familiarity weight can be: zero (0) when therecipient's level of familiarity is “low”; 0.1 when the recipient'slevel of familiarity is “medium”; 1.0 when the recipient's level offamiliarity is “high.” If the region is a range region, the familiarityweight can be: zero (0) when the recipient's level of familiarity is“low”; 1.0 when the recipient's level of familiarity is “medium”; 10.0when the recipient's level of familiarity is “high.”

After the region weight and the familiarity weight have been calculated,the descriptor selection module 322 can calculate an overall weight foreach remaining region based on the region weight and the familiarityweight (block 506). In one embodiment, the overall weight is the productof the region weight and the familiarity weight. Once the overall weightof each remaining region is calculated, the descriptor selection module322 can select a region with the highest overall weight (block 508).

Referring again to FIG. 4, once the region is selected, the descriptorselection module 322 can identify the descriptor associated with theselected region and provide the descriptor to the requesting user 120(block 408) so that the user 120 can share the descriptor with therecipient 150 via the electronic communication device 110. In oneembodiment, before providing the descriptor to the user 120, thedescriptor selection module 322 can modify the associated descriptor toindicate a relationship between the selected region and the location.For example, if the selected region encompasses the location, thedescriptor can be modified by adding a phrase, such as “in” or “within,”before the descriptor. Similarly, if the selected region does notencompass the location, the descriptor can be modified by adding aphrase, such as “near” or “close to,” before the descriptor.

According to the exemplary embodiment described above, the descriptorselection module 322 is configured to select the region based on theregion weight and the recipient's familiarity with the region. In otherembodiments, the descriptor selection module 322 can consider additionalfactors. For instance, in one embodiment, the region can be selectedbased on the user's propensity to select descriptors based on theregion, along with the region weight and the recipient's familiaritywith the region. In this embodiment, a priority weight can be assignedto each region. The priority weight can be based on how often the user120 accepts descriptors based on the region when the region is selectedby the descriptor selector module 322. If the user 120 acceptsdescriptors based on the region, then the priority weight for the givenregion increases. If the user 120 does not accept the descriptors basedon the region, then the priority weight for the given region decreases.The priority weight for each region can be adjusted over time to reflectthe user's preferences and can be stored in the user-specified regioninformation 210. In one embodiment, the overall weight for the regioncan be the product of its priority weight, its region weight and thefamiliarity weight.

In another embodiment, the region can be selected based on an expectedaction of either the user 120 or the recipient 150 at the location. Inthis embodiment, an action can be associated with the descriptor for aregion. For example, the descriptor “movie theater” can be associatedwith the actions “watch movie” and “entertainment”, and the descriptor“shopping center” can be associated with the actions “buy clothes”, “buyshoes”, “buy home improvement goods” or “eat out”. Each actionassociated with the descriptor is compared to the expected action ofeither the recipient 150 or the user 120. In one embodiment, the regionis selected based on a correlation between the expected action of eitherthe recipient 150 or the user 120 and the action associated with thedescriptor for the selected region.

The executable instructions of a computer program for practicing themethods illustrated in FIG. 4 and FIG. 5 can be embodied in any computerreadable medium for use by or in connection with an instructionexecution system, apparatus, or device, such as a computer based system,processor containing system, or other system that can fetch theinstructions from the instruction execution system, apparatus, or deviceand execute the instructions.

As used here, a “computer readable medium” can be any means that cancontain or store the program for use by or in connection with theinstruction execution system, apparatus, or device. The computerreadable medium can be, for example, but is not limited to, one or moreof any suitable media for storing the executable instructions of acomputer program in one or more of an electronic, magnetic, optical, andelectromagnetic form such that the instruction execution system,apparatus, or device can read (or fetch) the instructions from thecomputer readable medium and execute the instructions for carrying outthe described methods.

More specific examples (a non-exhaustive list) of the computer readablemedium can include the following: a portable computer diskette, a randomaccess memory (RAM), a read only memory (ROM), an erasable programmableread only memory (EPROM or Flash memory), optical storage devicesincluding a portable compact disc (CD), a portable digital video disc(DVD), and the like.

The following example illustrates an exemplary method of selecting andproviding a descriptor for a location according to one embodiment. Inthis example, a user 120, Steve, would like to share a descriptor abouta location D1 with two potential recipients, Mintz and Ryan. Inparticular, Steve would like to convey some information to Mintz andRyan that Steve is at “PANERA” located at D1. FIG. 6 illustrates anexemplary map of the general area concerned. As is shown, severalpositional and range regions are depicted. Positional regions aredenoted with P, while range regions are denoted with R.

For each region, user-specified region information 210 and/or generalregion information 260 is available. For example, exemplary descriptortables in the user-specific region information 210 and general regioninformation 260 follow:

General Descriptor Table Region ID Descriptor gP1 111 Corning Road gP2Movies gP3 HOME DEPOT gP4 KOHL'S gD1 PANERA gR1 Crossroads 3 PropertygR2 Crossroads Area gR3 BJ's area

User-Specified Descriptor Table Region ID Descriptor Access Rules uD1PANERA near office * uD2 Conference room IPAC uR3 BJ'S and KOHL'Sshopping * center The access rule “*” matches all access privileges.

The following information can be calculated from the user-specifiedregion information 210 and general region information 260 (in suitableunits such as miles or kilometers):

Region ID Area of the Region Distance of Region from D1 P1 0 3.3 P2 04.0 P3 0 2.5 P4 0 1.5 P6 0 4.0 D2 0 4.0 R1 5.0 3.3 R2 49.0 2.5 R3 7.50.5

An exemplary recipient table and exemplary recipient familiarity tablein the recipient data 220 are provided below:

Recipient Table Recipient ID Recipient Name Access Privilege Ryan-2 RyanF IPAC Mintz-3 S. Mintz Guest

Familiarity Table Recipient ID Region ID Direct Count Ryan uD2 10 RyangP1 2 Ryan gP3 2 Ryan gR1 2 Ryan gR2 2 Ryan uR3 2 Mintz gR3 2 Mintz gP32

In this example, Steve transmits a request to provide a descriptor forlocation D1 to Mintz and Ryan. The request is received by the descriptorsharing module 320 and the region selection module 324 identifies thepositional and range regions shown in FIG. 6. The following tablesillustrate the results of the selection process as applied on the abovedata for providing a descriptor pertaining to a region D1 with Mintz andRyan.

Mintz Region Recipient's Familiarity Overall Region Weight familiarityFilter Weight Weight uD2 1/17 X (not 0 0 allowed) uR3  1/8.5 OK 0 0(allowed) gP1 1/12 Not 0 0 filtered gP2 1/17 Not 0 0 filtered gP3 1/7 Medium Not 0.1 1/70  filtered gP4 1/3  Not 0 0 filtered gR1 1/72 Not 0 0filtered gR2 1/50 Not 0 0 filtered gR3  1/8.5 Medium Not 1 1/8.5filtered

Ryan Region Recipient's Familiarity Overall Region Weight familiarityFilter Weight Weight uD2 1/17 High OK 1 1/17 uR3  1/8.5 Medium OK 1 1/8.5 gP1 1/12 Medium Not 1/10  1/120 filtered gP2 1/17 Not 0 0filtered gP3 1/7  Medium Not 1/10 1/70 filtered gP4 1/3  Medium Not 1/101/30 filtered gR1 1/72 Medium Not 1 1/72 filtered gR2 1/50 Medium Not 11/50 filtered gR3  1/8.5 Not 0 0 filtered

As shown in the above table, Mintz can receive a descriptor based onregion gR3 (i.e., “BJ'S area”) and Ryan can be given a descriptor basedon region uR3 (i.e., “BJ'S and KOHL'S shopping center”). The descriptorcan be combined with any other descriptor that the user, Steve, mighthave for the region D1. For example, Steve may tell Mintz something tothe effect that “I am at PANERA in BJ'S area” and may tell Ryansomething to the effect that “I am at PANERA near the “BJ'S and KOHL'Sshopping center”. In these examples, the underlined text corresponds toa descriptor that is based on a region that has an origin or sizedifferent from the region D1. Each region is selected based on therecipient's familiarity with the region and on the user's relationshipwith the recipient.

It will be appreciated by those of ordinary skill in the art that theconcepts and techniques described here can be embodied in variousspecific forms without departing from the essential characteristicsthereof. The presently disclosed embodiments are considered in allrespects to be illustrative and not restrictive. The scope of theinvention is indicated by the appended claims, rather than the foregoingdescription, and all changes that come within the meaning and range ofequivalence thereof are intended to be embraced.

What is claimed is:
 1. A method of providing a descriptor of a location to a recipient, the method comprising; receiving location data for a location of a user of a device; identifying a plurality of regions near or including the location using the location data, wherein each region is associated with a descriptor; determining a level of familiarity of the recipient with each of the regions; selecting at least one region based on the recipient's level of familiarity with the selected region; and providing, for each selected region of the at least one selected region, the descriptor associated with the selected region to the user to select and send the selected descriptor to the recipient, wherein at least one of the preceding actions is performed on at least one electronic hardware component.
 2. The method of claim 1 wherein identifying the plurality of regions near or including the location includes identifying regions near or including the region that are within a distance threshold.
 3. The method of claim 1 wherein identifying the plurality of regions near or including the location includes identifying regions near or including the region that are within an area threshold.
 4. The method of claim 1 further comprising: for each selected region of the at least one selected region, determining whether the recipient has permission to receive the descriptor associated with the selected region prior to providing the descriptor to the recipient.
 5. The method of claim 4 wherein at least one of the at least one selected region is associated with a plurality of descriptors forming a plurality of region/descriptor pairs and determining whether the recipient has permission to receive the descriptor associated with the at least one of the at least one selected region includes: identifying a permitted class associated with each region/descriptor pair; and granting the recipient permission to receive the descriptor of a region/descriptor pair associated with a particular permitted class when the recipient is a member of the particular permitted class.
 6. The method of claim 1 wherein determining the recipient's level of familiarity with a region includes counting a number of times the user has shared with or received from the recipient the descriptor associated with the region, wherein the descriptor is directly associated with the region or is associated with another region within the region, and wherein the recipient's level of familiarity with the region is proportional to the number of times the user has shared with or received from the recipient the descriptor associated with the region.
 7. The method of claim 1 further comprising: associating each descriptor for a region with an action; and comparing the action with an expected action of at least one of the user and the recipient at the location, wherein selecting the at least one region is further based on a correlation between at least one of the user's and the recipient's expected actions at the location and the action associated with the descriptor for the selected at least one region.
 8. The method of claim 1 further comprising providing geographical position data of the location without regard to a current location of the user.
 9. The method of claim 1 further comprising providing a relationship between the selected region and the location in association with each descriptor.
 10. A system for providing a descriptor of a location to a recipient, the system comprising system components including: a data store for storing region information correlated with location data, wherein the region information includes a user-specified descriptor associated with each of a plurality of regions, and for storing recipient data relating to the region information; and a descriptor sharing module coupled to the data store, the descriptor sharing module configured to receive a request from a user of a device to provide a descriptor for a location, wherein the request includes location data of the location, to use the location data of the location to identify a plurality of regions near or including the location based on the region information, to determine a level of familiarity of the recipient with each identified region based on the recipient data, to select at least one region based on the recipient's level of familiarity with the selected at least region, and to provide, for each selected region of the at least one selected region, the descriptor associated with the selected region to the recipient, wherein at least one of the system components includes at least one electronic hardware component.
 11. The system of claim 10 wherein identifying the plurality of regions near or including the location includes identifying regions near or including the region that are within a distance threshold.
 12. The system of claim 10 wherein identifying the plurality of regions near or including the location includes identifying regions near or including the region that are within an area threshold.
 13. The system of claim 10 wherein the region information includes user-defined access rules associated with each of the plurality of regions and wherein the descriptor sharing module is configured to determine whether the recipient has permission to receive the descriptor associated with a region based on the access rules.
 14. The system of claim 10 wherein the descriptor sharing module is configured to determine the recipient's level of familiarity with a region by determining a number of times the user has shared with or received from the recipient the descriptor associated with the region, wherein the descriptor is directly associated with the region or is associated with another region within the region, and wherein the recipient's level of familiarity with the region is proportional to the number of times the user has shared with or received from the recipient the descriptor associated with the region.
 15. The system of claim 10 wherein a descriptor for a region is further associated with an action and wherein the descriptor sharing module is further configured to compare the action associated with the descriptor with an expected action of at least one of the user and the recipient at the location and to select the at least one region based on a correlation between at least one of the user's and the recipient's expected actions at the location and the action associated with the descriptor for the selected at least one region.
 16. The system of claim 10 wherein the descriptor sharing module is configured to provide a relationship between the at least one selected region and the location in association with each descriptor.
 17. An electronic communication device associated with a user for providing a descriptor of a location to a recipient, the device comprising: a communication interface coupled to a network; a data store for storing region information correlated with location data, wherein the region information includes a user-specified descriptor associated with each of a plurality of regions, and for storing recipient data relating to the region information; and a descriptor sharing module configured to receive location data of a location, to identify a plurality of regions near or including the location based on the region information, to determine a level of familiarity of the recipient with each identified region based on the recipient data, to select at least one region based on the recipient's level of familiarity with the selected region, and to provide, for each selected region of the at least one selected region, the descriptor associated with the selected region to the recipient via the communication interface.
 18. The device of claim 17 further comprising a user interface for allowing a user of the device to provide the location data of the location without regard to a current location of the device.
 19. The device of claim 17 wherein the region information includes user-defined access rules associated with each of the plurality of regions and wherein the descriptor sharing module is configured to determine, for each of the at least one selected region, whether the recipient has permission to receive the descriptor associated with the selected region based on the access rules.
 20. The device of claim 17 wherein a descriptor for a region is further associated with an action and wherein the descriptor sharing module is further configured to compare the action associated with the descriptor with an expected action of at least one of the user and the recipient at the location and to select the at least one a region is based on a correlation between at least one of the user's and the recipient's expected actions at the location and the action associated with the descriptor for the at least one selected region.
 21. The device of claim 17 wherein the descriptor sharing module is configured to provide a relationship between the at least one selected region and the location in association with the descriptor.
 22. A server for providing a descriptor of a location to a recipient, the server comprising: a communication interface for communicating with an electronic communication device associated with a user and with a data store for storing region information correlated with location data, wherein the region information includes a user-specified descriptor associated with each of a plurality of regions, and for storing recipient data relating to the region information; and a descriptor sharing module configured to receive location data of a location and a recipient identifier from the electronic communication device, to identify a plurality of regions near or including the location based on the region information, to determine a level of familiarity of the recipient with each identified region based on the recipient data, to select at least one region based on the recipient's level of familiarity with the selected region, and to provide, for each selected region of the at least one selected region, the descriptor associated with the selected region to one of the mobile communication device via the communication interface and the recipient associated with the recipient identifier.
 23. The server of claim 22 wherein the region information includes user-defined access rules associated with each of the plurality of regions and wherein the descriptor sharing module is configured to determine, for each selected region, whether the recipient has permission to receive the descriptor associated with the selected region based on the access rules.
 24. The server of claim 22 wherein a descriptor for a region is further associated with an action and wherein the descriptor sharing module is further configured to compare the action associated with the descriptor with an expected action of at least one of the user and the recipient at the location and to select the at least one region is based on a correlation between at least one of the user's and the recipient's expected actions at the location and the action associated with the descriptor for the selected region.
 25. The server of claim 22 wherein the descriptor sharing module is configured to provide a relationship between the selected region and the location in association with the descriptor.
 26. A non-transitory computer readable medium containing programming instructions for providing a descriptor of a location to a recipient, the program instructions for performing a method comprising: receiving geographical position data of a location from a user of a device; identifying a plurality of regions near or including the location using the geographical position data, wherein each region is associated with a descriptor; determining, for each region, a level of familiarity of the recipient with each of the regions; selecting at least one region based on the recipient's level of familiarity with the selected region; and providing the descriptor associated with the selected at least one region to the recipient via the user.
 27. The computer readable medium of claim 26 further comprising instructions for determining, for each selected region, whether the recipient has permission to receive the descriptor associated with the selected region by analyzing access rules defined by the user for the recipient.
 28. The computer readable medium of claim 26 wherein identifying the plurality of regions near or including the location includes identifying regions near or including the region that are within a distance threshold.
 29. The computer readable medium of claim 26 wherein identifying the plurality of regions near or including the location includes identifying regions near or including the region that are within an area threshold.
 30. The computer readable medium of claim 26 wherein the descriptor sharing module is configured to provide a relationship between the at least one selected region and the location in association with the descriptor. 